home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 February / Macworld (1999-02).dmg / Games World / SharewareGames / Xconq 7.2.2 / lib / cave.g < prev    next >
Text File  |  1998-05-22  |  5KB  |  255 lines

  1. (game-module "cave"
  2.   (title "Cave")
  3.   (blurb "Explore the Cave of Wandering Death")
  4. )
  5.  
  6. (terrain-type floor (char "."))
  7. (terrain-type passage (image-name "flagstone") (char "."))
  8. (terrain-type rock (char "#"))
  9.  
  10. (add rock thickness 10)
  11.  
  12. (unit-type human (image-name "adventurer") (char "@")
  13.   (hp-max 10) (acp-per-turn 4))
  14.  
  15. (unit-type orc
  16.   (hp-max 10) (acp-per-turn 4) (cp 4))
  17. (unit-type elf
  18.   (hp-max 10) (acp-per-turn 4) (cp 12))
  19. (unit-type dwarf
  20.   (hp-max 10) (acp-per-turn 4) (cp 16))
  21.  
  22. (unit-type giant-ant (image-name "ant")
  23.   (hp-max 15) (acp-per-turn 4) (cp 4))
  24. (unit-type giant-beetle (image-name "beetle")
  25.   (hp-max 20) (acp-per-turn 4) (cp 8))
  26. (unit-type giant-spider (image-name "spider")
  27.   (hp-max 25) (acp-per-turn 4) (cp 12))
  28.  
  29. (unit-type white-dragon (image-name "dragon")
  30.   (hp-max 40) (acp-per-turn 4))
  31. (unit-type red-dragon (image-name "red-dragon")
  32.   (hp-max 50) (acp-per-turn 4))
  33.  
  34. (unit-type imp (image-name "person")
  35.   (hp-max 5) (acp-per-turn 4) (cp 4))
  36. (unit-type pit-demon
  37.   (hp-max 50) (acp-per-turn 4) (cp 40))
  38.  
  39. (unit-type sapphire (name "huge sapphire") (char "*"))
  40. (unit-type emerald (name "huge emerald") (char "*"))
  41. (unit-type ruby (name "huge ruby") (char "*"))
  42. (unit-type diamond (name "huge diamond") (char "*"))
  43.  
  44. (unit-type nest
  45.   (hp-max 50) (acp-per-turn 1))
  46. (unit-type orc-hole (image-name "ruins")
  47.   (hp-max 50) (acp-per-turn 1))
  48. (unit-type pentagram (image-name "star-2")
  49.   (hp-max 100) (acp-per-turn 1))
  50.  
  51. (define humanoids (orc elf dwarf))
  52.  
  53. (define insects (giant-ant giant-beetle giant-spider))
  54.  
  55. (define dragons (white-dragon red-dragon))
  56.  
  57. (define reptiles (white-dragon red-dragon))
  58.  
  59. (define demons (imp pit-demon))
  60.  
  61. (define monsters (append humanoids insects reptiles demons))
  62.  
  63. (define animate (append human monsters))
  64.  
  65. (define items (sapphire emerald ruby diamond))
  66.  
  67. (define places (nest orc-hole pentagram))
  68.  
  69. (material-type food)
  70. (material-type water)
  71. (material-type gold)
  72.  
  73. ;;; Static relationships.
  74.  
  75. (include "ng-weird")
  76.  
  77. (add human namer "generic-names")
  78.  
  79. (add human possible-sides "human")
  80.  
  81. (add monsters possible-sides "monster")
  82. (add places possible-sides "monster")
  83.  
  84. (table unit-storage-x
  85.   (human m* (200 50 0))
  86.   )
  87.  
  88. (add human capacity 100)
  89. (add humanoids capacity 100)
  90. (add dragons capacity 200)
  91.  
  92. (add places capacity 8)
  93.  
  94. (table unit-size-as-occupant
  95.   (u* u* 999)
  96.   (items u* 1)
  97.   (insects nest 1)
  98.   (humanoids orc-hole 1)
  99.   (demons pentagram 1)
  100.   )
  101.  
  102. (add t* capacity (16 4 0))
  103.  
  104. (table unit-size-in-terrain
  105.   (animate t* 4)
  106.   (items t* 0)
  107.   )
  108.  
  109. ;;; Vision.
  110.  
  111. ;; (should make longer only around light sources or some such)
  112.  
  113. (add u* vision-range 5)
  114. ;; Humans are not cave dwellers by nature, don't see as well.
  115. (add human vision-range 4)
  116.  
  117. (add items vision-range -1)
  118.  
  119. (add u* vision-bend 0)
  120.  
  121. (table eye-height
  122.   (u* t* 5)
  123.   )
  124.  
  125. ;;; Actions.
  126.  
  127. (add items acp-per-turn 0)
  128.  
  129. ;;; Movement.
  130.  
  131. (add places speed 0)
  132.  
  133. (table mp-to-enter-terrain
  134.   (u* rock 99)
  135.   )
  136.  
  137. (table mp-to-enter-own
  138.   (u* items 0)
  139.   )
  140.  
  141. ;;; Construction.
  142.  
  143. (table acp-to-create
  144.   (nest insects 1)
  145.   (orc-hole humanoids 1)
  146.   (pentagram demons 1)
  147.   )
  148.  
  149. (table acp-to-build
  150.   (nest insects 1)
  151.   (orc-hole humanoids 1)
  152.   (pentagram demons 1)
  153.   )
  154.  
  155. ;;; Combat.
  156.  
  157. (table hit-chance
  158.   (u* u* 50)
  159.   (items u* 0)
  160.   (places u* 0)
  161.   )
  162.  
  163. (table damage
  164.   (u* u* 1d6)
  165.   (u* items 0)
  166.   (items u* 0)
  167.   (places u* 0)
  168.   )
  169.  
  170. (table acp-to-capture
  171.   (u* items 1)
  172.   )
  173.  
  174. (table capture-chance
  175.   (u* items 100)
  176.   )
  177.  
  178. (table independent-capture-chance
  179.   (u* items 100)
  180.   )
  181.  
  182. ;; Dwarves can dig.
  183.  
  184. (table acp-to-add-terrain
  185.   (dwarf (floor passage) 1)
  186.   )
  187.  
  188. (table acp-to-remove-terrain
  189.   (dwarf rock 1)
  190.   )
  191.  
  192. ;;; Backdrop activities.
  193.  
  194. (add u* hp-recovery 100)
  195.  
  196. (set action-notices '(
  197.   ((destroy u* items) (actor " smash " actee "!"))
  198.   ((destroy u* orc-hole) (actor " plug " actee "!"))
  199.   ((destroy u* pentagram) (actor " erase " actee "!"))
  200.   ))
  201.  
  202. ;;; Random setup.
  203.  
  204. (add floor maze-room-occurrence 1)
  205.  
  206. (add passage maze-passage-occurrence 1)
  207.  
  208. (add t* occurrence 0)
  209.  
  210. (add rock occurrence 1)
  211.  
  212. (set edge-terrain rock)
  213.  
  214. (set maze-passage-density 5000)
  215.  
  216. ;;; One adventurer on a side.
  217.  
  218. (add human start-with 1)
  219.  
  220. (add places start-with 1)
  221. (add dragons start-with 1)
  222.  
  223. (set country-radius-min 5)
  224. (set country-separation-min 20)
  225. (set country-separation-max 30)
  226.  
  227. (table independent-density
  228.   (items floor 500)
  229.   )
  230.  
  231. (table favored-terrain
  232.   (u* floor 100)
  233.   (u* rock 0)
  234.   )
  235.  
  236. (set synthesis-methods
  237.   '(make-maze-terrain make-countries make-independent-units))
  238.  
  239. (set sides-min 2)
  240.  
  241. (side 1 (name "You") (class "human") (emblem-name "none")
  242.   (self-unit 1))
  243.  
  244. (side 2 (noun "Monster") (class "monster") (emblem-name "none"))
  245.  
  246. (scorekeeper (do last-side-wins))
  247.  
  248. (game-module (notes (
  249.   "Cave exploration, with monsters."
  250.   )))
  251.  
  252. (game-module (design-notes (
  253.   "This is a pretty basic game.  It could be much elaborated."
  254.   )))
  255.